package cn.txun.csmall.commons.web;

/**
 * 业务状态码枚举类型
 *
 * @author java@txun.cn
 * @version 0.0.1
 */

//枚举类型用来限制变量的取值范围，
//ServiceCode用来限制外界随意设置状态码的问题
public enum ServiceCode {
    /**
     * 成功
     */
    OK(20000),//ServiceCode OK= new ServiceCode(1)>>>getValue()>>>1
    /**
     * 错误：请求参数格式有误
     */
    ERR_BAD_REQUEST(40000),//ServiceCode ERR = new ServiceCode(2)>>>getValue()>>>2
    /**
     * 错误：请求图片为空
     */
    ERR_UPLOAD_EMPTY(40001),
    /**
     * 错误：请求图片过大
     */
    ERR_UPLOAD_EXCEED_MAX_SIZE(4002),
    /**
     * 错误：请求文件类型不对
     */
    ERR_UPLOAD_INVALID_TYPE(4003),
    /**
     * 错误：用户名或者密码错误
     */
    ERR_UNAUTHORIZED(40100),
    /**
     * 错误，用户失效
     */
    ERR_UNAUTHORIZED_DISABLE(40101),
    /**
     * 错误：无权限
     */
    ERR_FORBIDDEN(40300),
    /**
     * 错误：数据不存在
     */
    ERR_NOT_FOUND(40400),

    /**
     * 错误：数据冲突
     */
    ERR_CONFLICT(40900),
    /**
     * 错误：新增失败
     */
    ERR_INSERT(5000),
    /**
     * 错误：删除失败
     */
    ERR_DELETE(50100),
    /**
     * 错误：修改失败
     */
    ERR_UPDATE(50200),
    /**
     * 错误：JWT过期
     */
    ERR_JWT_EXPIRED(60000),
    /**
     * 错误：JWT格式有误
     */
    ERR_JWT_MALFORMED(60100),
    /**
     * 错误：JWT签名有误
     */
    ERR_JWT_SIGNATURE(60200),
    /**
     * 错误：未知错误
     */
    ERR_UNKNOWN(99999);
    ServiceCode(){}

    private Integer value;

    public Integer getValue(){
        return value;
    }
    ServiceCode(Integer value){
        this.value = value;
    }
}
